#include <iostream>

using namespace std;

int main() {

    // 二维数组的定义方式
    /*
        1、数据类型  数组名[ 行数 ][ 列数 ];
        2、数据类型  数组名[ 行数 ][ 列数 ] = { { 数据1， 数据2 }, { 数据3， 数据4 } };
        3、数据类型  数组名[ 行数 ][ 列数 ] = { 数据1， 数据2, 数据3， 数据4 };
        4、数据类型  数组名[ ][ 列数 ] = { 数据1， 数据2, 数据3， 数据4 };

    */

    // 1、数据类型  数组名[ 行数 ][ 列数 ];
    int arr1[2][3];
    arr1[0][0] = 1;
    arr1[0][1] = 2;
    arr1[0][2] = 3;
    arr1[1][0] = 4;
    arr1[1][1] = 5;
    arr1[1][2] = 6;

    // 2、数据类型  数组名[ 行数 ][ 列数 ] = { { 数据1， 数据2 }, { 数据3， 数据4 } };
    int arr2[2][3] = {
        { 1, 2, 3 },
        { 4, 5, 6 }
    };

    // 3、数据类型  数组名[ 行数 ][ 列数 ] = { 数据1， 数据2, 数据3， 数据4 };
    int arr3[2][3] = { 1, 2, 3, 4, 5, 6 };

    int hang = sizeof(arr3) / sizeof(arr3[0]);
    int lie = sizeof(arr3[0]) / sizeof(arr3[0][0]);

    // 4、数据类型  数组名[ ][ 列数 ] = { 数据1， 数据2, 数据3， 数据4 };
    int arr4[][3] = { 1, 2, 3, 4, 5, 6 };




    // 试试sizeof
    cout << sizeof(arr2) << endl;
    cout << sizeof(arr2[0]) << endl;
    cout << sizeof(arr2[0][0]) << endl;

    cout << "-------------------------" << endl;

    for (int i = 0; i < hang; i++) {
        for (int j = 0; j < lie; j++) {
            cout << arr2[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}